\documentclass[letterpaper,11pt]{article}
\usepackage[margin=2.5cm]{geometry}
\usepackage[final]{pdfpages}
\usepackage{setspace}
\usepackage{lscape}
\usepackage{titlesec}
\usepackage{fancyheadings}
\usepackage[utf8]{inputenc}
\usepackage[francais]{babel}

\setlength{\headheight}{1.8cm}
\pagestyle{fancy}
\lhead{\includegraphics[width=0.5\textwidth]{usherbrooke.jpg}}

\renewcommand\thesection{\arabic{section}} 
\renewcommand\thesubsection{\thesection.\arabic{subsection}} 
\renewcommand\thesubsubsection{\thesubsection.\arabic{subsubsection}} 
\renewcommand\theparagraph{\thesubsubsection.\arabic{paragraph}}
\renewcommand\thesubparagraph{\theparagraph.\arabic{subparagraph}} 
\titleformat{\section}[block]{\bfseries}{\thesection.}{1em}{} 
\titleformat{\subsection}[block]{\hspace{2em}\bfseries}{\thesubsection}{1em}{} 
\titleformat{\subsubsection}[block]{\hspace{4em}\bfseries}{\thesubsubsection}{1em}{}
\titleformat{\paragraph}[block]{\hspace{6em}\bfseries}{\theparagraph}{1em}{}
\titleformat{\subparagraph}[block]{\hspace{8em}\bfseries}{\thesubparagraph}{1em}{}

\setcounter{secnumdepth}{5}

%opening
\makeatletter
\def\clap#1{\hbox to 0pt{\hss #1\hss}}%
\def\ligne#1{%
  \hbox to \hsize{
    \vbox{\centering #1}
  }
}%
\def\haut#1#2#3{%
  \hbox to \hsize{%
    \rlap{\vtop{\raggedright #1}}%
    \hss
    \clap{\vtop{\centering #2}}%
    \hss
    \llap{\vtop{\raggedleft #3}}
  }
}%
\def\middle#1#2#3{
  \hbox to \hsize{%
    \rlap{\vtop{\raggedright #1}}%
    \hss
    \clap{\vtop{\centering #2}}%
    \hss
    \llap{\vtop{\raggedleft #3}}
  }
}
\def\bas#1#2#3{%
  \hbox to \hsize{%
    \rlap{\vbox{\raggedright #1}}%
    \hss
    \clap{\vbox{\centering #2}}%
    \hss
    \llap{\vbox{\raggedleft #3}}
  }
}%
\def\maketitle{%
  \thispagestyle{fancy}\vbox to \vsize{%
    \haut{}{\@blurb}{}
    \vfill
    \vspace{1cm}
    \huge \@title
    \par
    \vspace{3cm}
    \par
    \middle{}{\normalsize{\@presentFrom}}{}
    \vspace{3cm}
    \par
    \middle{}{\normalsize{\@presentTo}}{}
    \vspace{5cm}
    \par
    \middle{}{\normalsize{\@cadreCours}}{}
    \vspace{1cm}
    \vfill
    \vfill
    \bas{}{\normalsize{\@location, le \@date}}{}
  }%
  \newpage
}
\def\date#1{\def\@date{#1}}
\def\author#1{\def\@author{#1}}
\def\title#1{\def\@title{#1}}
\def\location#1{\def\@location{#1}}
\def\blurb#1{\def\@blurb{#1}}
\def\presentTo#1{\def\@presentTo{#1}}
\def\presentFrom#1{\def\@presentFrom{#1}}
\def\cadreCours#1{\def\@cadreCours{#1}}
\date{\today}

\location{Sherbrooke}
\makeatother
\title{\centering{\textbf{Reprise du projet Risk}\\ expérience de programmation XP}}
\blurb{%
  DÉPARTEMENT D'INFORMATIQUE\\
  Faculté de Sciences\\
  Université de Sherbrooke\\
}% 
\presentFrom{
	\Large
  Présenté à : \\
	Mikael Fortin
	\normalsize	
}
\presentTo{
  Par : \\
	Clément Zotti 11 074 801 \\
	Lucien Benie 09 135 982 \\
  Jean Frédéric Laprade 07 130 268 \\
	Philippe Antoine Plante 11 169 745 \\
	Maxime Routhier 11 133 819 \\
	Dominic Vincent 10 201 319 \\
	Faouziath Yessoufou 13 130 952 \\
	Samuel Brault 11 167 417 \\
	Léon Cantin 12 205 936 
}
\cadreCours{
	dans le cadre du cours \\
	IFT 232
}

\begin{document}
 \maketitle
	\tableofcontents
	\newpage

	\section{Description du projet :}

		Le projet consistait à améliorer un jeu de tour par tour en ligne se jouant dans un navigateur. Chaque joueur se déplace avec son armée sur différents types de terrains. Le joueur peut faire plusieurs actions lui coutant des points qui lui sont alloués à chaque tour. 
		
	
		Le but de ce projet était d'améliorer le code en appliquant des méthodes de réfactorisation et en appliquant des patrons de conception. 
		
		
		De plus, de nouvelles fonctionnalités ont été ajoutées. Nous avons choisi d'implenter une nouvelle gestion des combats, une carte aléatoire avec plusieurs types de terrains et plusieurs légions (section de l'armée qui peut se déplacer). Par les différents types de terrains, nous avons implanté la gestion du déplacement des unités. Des tests ont été écrits pour tester ces nouvelles implémentations, par exemple : un Toruk qui attaque un archer dans l'eau.

	\section{Quelques scénarios des clients}
		\includegraphics[width=0.8\textwidth]{img/sequence.jpg}
\newpage
	\section{Schéma de l'architecture du système}
		Avant :\\ 
		\includegraphics[width=0.8\textwidth]{img/diagramme.png}


		Après : \\
		\includegraphics[width=0.8\textwidth]{img/organisation.jpg}

	\section{Informations d'installations et d'utilisations}
		Pour utiliser le l'application, pour le moment il faut utiliser eclipse, lui installer grâce à son market les plugins jetty, run-jetty-run et maven. \\
Ensuite, il faut importer le projet et changer le jre 1.5 par le jre 1.7 si nécessairei. Il faut ouvrir Run Configuration/Jetty-WebApp/html5-webapp-jetty puis dans la ligne Context remplacer son contenu par un /, et mettre la version de Jetty 8.1. Il ne reste plus qu'a faire un run et de se connecter sur le serveur à partir d'un navigateur web grâce à l'adresse localhost:8080 (par defaut il faut 2 joueurs pour lancer une partie donc deux instances du navigateur).
\newpage
	\section{Outils de synchronisation}

		SVN\\
		Nous avons utilisé SVN comme logiciel de gestion de versions et Google Code comme serveur. Le client SVN utilisé par les membres de l’équipe fut TortoiseSVN


		Google Drive\\
		Google drive nous a permis de partager les documents, en particulier les comptes-rendus des rencontres que nous avons eu, les idées initiales de projet et ce présent document.


		Pivotal Tracker\\
		Pivotal Tracker est un outil de gestion de projet Agile qui est gratuit lorsque le projet est public. Nous avons configuré l’application de façon à ce que tous les membres de l’équipe aient tous les droits d’édition. Nous avons défini lors de notre première rencontre les différentes fonctionnalités que nous souhaitions implémenter. Chacune de ces fonctionnalités a été entrée comme un “ticket” dans Pivotal Tracker. Un “ticket” contient l’information suivante :

		\begin{itemize}
			\item un titre
			\item un type et une évaluation de l’ampleur du “ticket”
			\item l’état du “ticket” et le nom de la personne qui travaille présentement dessus
			\item une description du “ticket”
			\item une liste des tâches à faire pour compléter le “ticket” (qui peuvent être cochées au fur et à mesure qu’elles sont effectuées)
			une liste de commentaires
		\end{itemize}


		Cet outil a été déterminant pour coordonner le travail. Lors d’une séance de programmation, une équipe pouvait prendre connaissance de l’avancement du projet et identifier les tâches sur lesquelles elle souhaitait travailler (voir Figure 1 à 3).\\ 
		\includegraphics[width=0.3\textwidth]{img/pivo1.jpg}
		\hspace{0.02cm}
		\includegraphics[width=0.3\textwidth]{img/pivo2.jpg}
		\hspace{0.02cm}
		\includegraphics[width=0.3\textwidth]{img/pivo3.jpg}

\newpage


		Google Calendar\\
		Tous les membres du groupe ont entré leurs disponibilités sur le calendrier Google. Il revenait à chaque membre de prendre contact avec un autre membre de l’équipe qui était disponible en même temps afin de mettre à l’horaire une séance de programmation par pair (voir Figure 4).
		\includegraphics[width=\textwidth]{img/calendar.jpg}	
\end{document}
